The invention relates to selecting data for synchronization and for software configuration. Data synchronization is an operation in which a correspondence is provided between at least two data collections to the effect that, after the synchronization, the data items of the data collections substantially correspond to each other.
Along with the increasing popularity of new networking terminals, such as portable computers, PDA (Personal Digital Assistant) devices, mobile stations and pagers, the need for data synchronization has increased as well. Data of calendar and electronic mail applications in particular are typical examples of data that need to be synchronized. Synchronization has conventionally been based on different proprietary protocols, which are not compatible with each other. However, in mobile communications in particular, it is important that data can be obtained and updated irrespective of the terminal and application in use.
For improved synchronization of application data, a Synchronization Mark-up Language (SyncML) based on the Extensible Mark-up Language (XML) has been developed. A SyncML synchronization protocol employing messages of SyncML format allows the data of any application to be synchronized between any networked terminals. The SyncML synchronization protocol functions both in wireless and in fixed networks and supports a plural number of transmission protocols. SyncML provides both a synchronization protocol and a data representation protocol.
The implementation of data synchronization is described in the SyncML standard, but the standard does not specify in detail how to select the data that is to be synchronized. Typically, the amount of data on a server or desktop computer considerably exceeds the capacity of a portable device. Even larger portable terminals, such as portable computers, are not necessarily able to store all the data needed by the user, for example copies of every important document contained in a company's data system. If synchronization is carried out over the radio interface, further restrictions are caused by the available bandwidth. From the user's point of view, synchronization over the radio interface may appear to be too slow, and in a mobile communications network the transmission costs may be too high. Consequently, it is necessary to restrict the amount of data to be synchronized by selecting only a subset of the data for synchronization. This may be called ‘adaptive synchronization’. Known solutions for adaptive synchronization have mainly been restricted to certain application-specific techniques that simply allow specific data units to be excluded from the data to be synchronized. A typical example is to rule out electronic mail attachment files.
Besides data carrying non-executable user data, also data carrying software components can be downloaded or synchronized to a data terminal. As is familiar in PC environment, after the first installation it is very often necessary to download and install new updates or plug-ins to the computer. Some applications enable to download an update allowing a file of an unsupported file format to be opened. As wireless data transmission technologies have advanced, it is also possible to download new software components into wireless data terminals. The radio bandwidth is, however, limited and software updates via the air interface can be expensive. Also the user typically needs to know the already existing software components and select the correct update or plug-in to be downloaded. A lot of unnecessary or incompatible software data may be transferred to the terminal, burdening the terminal resources and causing transmission expenses.
Current synchronization systems do not enable to consider software that is related to a user data item, i.e. a data item carrying substantially only user data, being synchronized. For instance, if a user data file is synchronized to a data terminal and the software configuration of the terminal does not support the file type, additional software needs to be downloaded. This may be troublesome especially for wireless terminals as software may be slow and expensive to download.